//有效单词
/*有效单词 需要满足以下几个条件：

至少 包含 3 个字符。
由数字 0-9 和英文大小写字母组成。（不必包含所有这类字符。）
至少 包含一个 元音字母 。
至少 包含一个 辅音字母 。
给你一个字符串 word 。如果 word 是一个有效单词，则返回 true ，否则返回 false 。

注意：

'a'、'e'、'i'、'o'、'u' 及其大写形式都属于 元音字母 。
英文中的 辅音字母 是指那些除元音字母之外的字母。
 */
 class Solution {
public:
    bool isValid(string word) {
        if (word.size() < 3)
            return false;
        string s{"aeiouAEIOU"};
        unordered_set<char> _s(s.begin(), s.end());
        bool floag1 = false;
        bool floag2 = false;
        for (int i = 0; i < word.size(); i++) {
            if (word[i] == '@' || word[i] == '#' || word[i] == '$')
                return false;
            if (_s.count(word[i]))
                floag1 = true;
            else if (!(word[i] >= '0' && word[i] <= '9'))
                floag2 = true;
        }
        if (floag1 && floag2)
            return true;
        return false;
    }
};

//最小公共值
/*给你两个整数数组 nums1 和 nums2 ，它们已经按非降序排序，请你返回两个数组的 最小公共整数 。如果两个数组 nums1 和 nums2 没有公共整数，请你返回 -1 。

如果一个整数在两个数组中都 至少出现一次 ，那么这个整数是数组 nums1 和 nums2 公共 的。*/
class Solution {
public:
    int getCommon(vector<int>& nums1, vector<int>& nums2) {
        int ret = -1;
        int index1 = 0;
        int index2 = 0;
        while (index1 < nums1.size() && index2 < nums2.size()) {
            if (nums1[index1] > nums2[index2]) {
                index2++;
            } else if (nums1[index1] < nums2[index2]) {
                index1++;
            } else {
                return nums1[index1];
            }
        }
        return ret;
    }
};